package class1.s2022350143027.utils;

import java.time.LocalDate;
import java.util.regex.Pattern;

/**
 * 正则验证静态方法工具类
 *
 */

public class YzyValidateUtil {

    /**
     * 正则验证用户名格式
     * @param user 要验证的用户名
     * @return boolean
     */
    public static boolean checkUser(String user){
        //简写正则验证用户名
        return Pattern.compile("^[a-zA-Z0-9_]+$").matcher(user).matches();

    }


    /**
     * 正则验证密码格式
     * @param pwd 要验证的密码
     * @return boolean
     */
    public static boolean checkPassword(String pwd){
        //自行完成正则验证
        //FixMe 规定密码长度6~10位，英文、数字，必须同时包含大小写英文、数字
        return Pattern.compile("^(?![A-Za-z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)[a-zA-Z0-9]{6,10}+$").matcher(pwd).matches();
    }



    /**
     * 验证商品名格式
     * @param good_name 要验证的商品名
     * @return boolean
     */
    public static boolean checkGood_name(String good_name){
        return good_name.length() <= 20;
    }


    /**
     * 正则验证单价和数量格式
     * @param PN 要验证的单价或数量
     * @return boolean
     */
    public static boolean checkPN(String PN){
        return Pattern.compile("^[0-9]+$").matcher(PN).matches();
    }


    /**
     * 验证日期格式
     * @param date 要验证的日期
     * @return boolean
     */
    public static boolean checkDate(String date) {
        try {
            LocalDate.parse(date);
        }catch (Exception e){
            return false;
        }
        return true;
    }



}
